package com.barma.wordnet;

import com.stdlib.In;
import com.stdlib.StdOut;

public final class WordNet
{
	/**
	 * constructor takes the name of the two input files
	 * 
	 * @param synsets
	 *            path to synsets file
	 * @param hypernyms
	 *            path to hypernyms file
	 */
	public WordNet(String synsets, String hypernyms)
	{

	}

	/**
	 * the set of nouns (no duplicates),
	 * 
	 * @return returned set of nouns as an Iterable<String>
	 */
	public Iterable<String> nouns()
	{
		return null;
	}

	/**
	 * is the word a WordNet noun?
	 * 
	 * @param word
	 * @return return true if word is in WordNet dictionary
	 */
	public boolean isNoun(String word)
	{
		return false;
	}

	/**
	 * distance between nounA and nounB (defined below)
	 * 
	 * @param nounA
	 * @param nounB
	 * @return
	 */
	public int distance(String nounA, String nounB)
	{
		return -1;
	}

	/**
	 * a synset (second field of synsets.txt) that is the common ancestor of
	 * nounA and nounB in a shortest ancestral path
	 * 
	 * @param nounA
	 * @param nounB
	 * @return
	 */
	public String sap(String nounA, String nounB)
	{
		return null;
	}

	/**
	 * Used for unit testing of this class
	 * 
	 * @param args
	 */
	public static void main(String[] args)
	{
		WordNet wordnet = new WordNet(args[0], args[1]);
		Outcast outcast = new Outcast(wordnet);
		for (int t = 2; t < args.length; t++)
		{
			String[] nouns = new In(args[t]).readAllStrings();
			StdOut.println(args[t] + ": " + outcast.outcast(nouns));
		}
	}
}
